There is a cylinder piston position measuring device provided with a permanent magnet that is disposed on a piston that linearly moves with a rod inside a cylinder tube of a hydraulic pressure cylinder or the like, and a magnetic force sensor that is disposed outside the cylinder tube. By detecting a magnetic force passing through the magnetic force sensor, this device measures the cylinder piston position.
For example, there is a device wherein a rotary encoder for detecting a linearly moving amount of the rod as a rotation amount is disposed on a cylinder head, and a magnetic force sensor for resetting is disposed in the middle of the cylinder tube and on the tube outer circumferential surface of the cylinder tube. This magnetic force sensor for resetting detects the magnetic force generated by a magnet fixed on the piston that linearly moves inside the cylinder tube, and resets a measured position obtained from a detection value of the rotary encoder to an original position when the magnetic force reaches its maximum value.
Here, since a tube of a hydraulic pressure cylinder is constituted with a magnetic material, there is a certain time lag (refer to a transmission lag) when a magnetism generated inside the tube travels through the tube and arrives at the magnetic force sensor outside the tube. On the other hand, a velocity of piston movement inside the cylinder tube is not constant, and thus a stroke position obtained by an arithmetic processing when the magnetic force detected by the magnetic force sensor (refer to a reset sensor) reaches its peak may deviate from an actual stroke position (refer to original position) depending on the velocity of piston movement.
Accordingly, in Patent Literature 1, a correspondence between a passage velocity right under the reset sensor of the piston and the deviation amount of the position from the origin position (refer to a peak position correction amount) is preliminary obtained and memorized in a table format, and the original position is corrected by detecting the passage velocity right under the reset sensor at each time when a stroke is made.